// 引入一个UI组件库
import 'package:flutter/material.dart';

// main函数是入口函数
// runApp是系统提供的方法，就是执行渲染
void main(){
  runApp(MyApp());
}

// flutter中的组件分为两种，静态组件/无状态组件，动态组件/有状态组件
// StatelessWidget        statefulWidget
// 一切皆组件，而且每一个组件都是一个类

// 定义一个静态组件
class MyApp extends StatelessWidget {

  // override意思就是覆盖
  // Widget是组件类型，规定我们build函数的返回值类型 必须是一个组件
  // 每一个静态组件都需要一个build函数，用来做组件的渲染
  @override
  Widget build(BuildContext context){
    // 每一个项目最外层必须被 MaterialApp包裹，里面有一些UI组件，包含了移动端页面渲染的一些相关规范
    return MaterialApp(
      // title，每一个页面都有一个title，不显示在页面上
      title: 'app',
      // 设置当前项目的默认颜色
      theme: ThemeData(
        primaryColor: Colors.blue
      ),
      home: HomePage(),
    );
  }
}


class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // Scaffold 也算一个组件库，也有称它是脚手架工具，提供的很多现成的组件直接调用
    return Scaffold(
      // 头部导航组件
      appBar: AppBar(
        title: Text('flutter'),
      ),
      body: Center(
        child: Text("hello world"),
      ),
    );
  }
}

